curl命令

curl是一个命令行工具,用于使用任何受支持的协议HTTPFTPIMAPPOP3SCPSFTPSMTPTFTPTELNETLDAPFILE向网络服务器传输数据或从网络服务器传输数据,其被设计成无需用户交互即可工作,因此非常适合在shell脚本中使用,该软件提供代理支持、用户身份验证、FTP上传、HTTP postingSSL连接、cookie、文件断点传输、metalink等功能。

语法

curl [options] [URL...]

参数

环境变量

使用环境变量设置代理与使用--proxy选项具有相同的效果。

代理协议前缀

退出代码

示例

对网站发起一个HTTP请求。

curl www.baidu.com

使curl显示进度表,以指示传输速率、传输的数据量、剩余时间等。

curl -# -o ftp://ftp.example.com/file.zip

指定请求的网络接口。

curl --interface ppp0 192.168.113.131

将文件下载到本地并命名为1.zip

curl -o 1.zip ftp://ftp.example.com/file.zip

curl使用地址重定向。

curl -L http://www.google.com

此选项限制数据传输速率的上限,并将其保持在以字节为单位的给定值附近。

curl --limit-rate 1000K -O ftp://speedtest.tele2.net/1MB.zip

curl还提供了从用户认证的FTP服务器下载文件的选项。

curl -u username:password -O ftp://test.rebex.net/readme.txt

显示详细信息,例如连接的ip地址、请求头与响应头等。

curl -v www.baidu.com

设置请求头信息,此处由于响应信息过多将其存储在baidu.html

curl -v \
-H "Accept-Language: zh-cn" \
-H "Host: www.baidu.com" \
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36" \
-o baidu.html https://www.baidu.com

参考

https://www.computerhope.com/unix/curl.htm
https://www.commandlinux.com/man-page/man1/curl.1.html
https://www.geeksforgeeks.org/curl-command-in-linux-with-examples/